package com.moko.common;

import java.io.File;
import com.moko.R;
import com.moko.service.UpdateService;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;

public class Version {
	// 版本信息
	public static int localVersion = 0;
	public static int serverVersion = 0;
	public static String downloadDir = "app/download/";
	private Context context;

	public Version(Context context) {
		this.context = context;
	}

	public void initVersion() {
		try {
			localVersion = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode; // 设置本地版本号
			serverVersion = 2;// 假定服务器版本为2，本地版本默认是1
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

	public void checkVersion() {

		if (localVersion < serverVersion) {
			// 发现新版本，提示用户更新
			AlertDialog.Builder alert = new AlertDialog.Builder(context);
			alert.setTitle("软件升级").setMessage("发现新版本,建议立即更新使用.").setPositiveButton("更新", new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int which) {
					// 开启更新服务UpdateService
					// 这里为了把update更好模块化，可以传一些updateService依赖的值
					// 如布局ID，资源ID，动态获取的标题,这里以app_name为例
					Intent updateIntent = new Intent(context, UpdateService.class);
					updateIntent.putExtra("titleId", R.string.app_name);
					context.startService(updateIntent);
				}
			}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int which) {
					dialog.dismiss();
				}
			});
			alert.create().show();
		} else {
			File updateFile = new File(downloadDir, context.getResources().getString(R.string.app_name) + ".apk");
			if (updateFile.exists()) {
				// 当不需要的时候，清除之前的下载文件，避免浪费用户空间
				updateFile.delete();
			}
		}
	}
}
